﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using BookExpress.DB;

namespace BookExpress.Editora
{
    public class Editora
    {
        private int ediCod;
        private string ediNome;

        public int EdiCod
        {
            get { return ediCod; }
            set { ediCod = value; }
        }

        public string EdiNome
        {
            get { return ediNome; }
            set { ediNome = value; }
        }

        public Editora buscaEditora(string nome)
        {
            ServicosDB sql = new ServicosDB();
            string strConsultar = "SELECT * FROM EDITORA WHERE ediNome = '" + nome + "'";
            SqlDataReader rsEditora;

            try
            {
                rsEditora = sql.recordSet(strConsultar);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }

            if (rsEditora.HasRows)
            {
                while (rsEditora.Read())
                {
                    Editora  e = new Editora();
                    e.ediCod = (int)rsEditora["ediCod"];
                    e.ediNome = rsEditora["ediNome"].ToString();
                    return e;
                }
            }
            else
            {
                throw new Exception("Editora não encontrada.");
            }

            return null;
        }

        public void atualizarEditora(int cod, string nome)
        {
            ServicosDB sql = new ServicosDB();
            string strAtualizar = "UPDATE EDITORA SET ediNome = '" + nome + "' WHERE ediCod = " + cod;

            try
            {
                sql.executar(strAtualizar);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }
        }

        public void excluirEditora(int cod)
        {
            ServicosDB sql = new ServicosDB();
            string strExcluir = "DELETE FROM EDITORA WHERE ediCod = " + cod;

            try
            {
                sql.executar(strExcluir);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }
        }

        public void cadastrarEditora(string nome)
        {
            ServicosDB sql = new ServicosDB();

            string strCadastrar = "INSERT INTO EDITORA VALUES ('" + nome + "')";

            try
            {
                sql.executar(strCadastrar);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }
        }
    }
}